package com.t123.controller;

import com.t123.entity.User;
import com.t123.service.UserService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

//tags是对该类的 一个描述
@Api(tags = "用户管理")
@RestController
public class UserController {

    @Autowired
    private UserService userService;


    //restful风格的请求
    // @GetMapping()   查询
    // @PostMapping()   修改
    // @PutMapping()    增加
    // @DeleteMapping()  删除

    //@RequestMapping("/getUser")
    @GetMapping("/getUser")
    //@ApiOperation() 是对该接口方法的描述
    @ApiOperation(value = "获取用户信息",notes = "方法的参数描述  接口的作用等等 ")
    public List<User> getUsers(){
        return  userService.getUsers();
    }


    @PutMapping("/addUser")
    @ApiOperation(value = "添加用户信息",notes = "方法的参数描述  接口的作用等等 ")
    public int addUser(User user){
        return  userService.addUser(user);
    }

    @GetMapping("/getById")
    @ApiOperation(value = "获取单个用户信息",notes = "方法的参数描述  接口的作用等等 ")
    public User getById(Long id){
        return  userService.getUserById(id);
    }


    @PostMapping("/updateUser")
    @ApiOperation(value = "修改用户信息",notes = "方法的参数描述  接口的作用等等 ")
    public int updateUser(User user){
        return  userService.updateUser(user);
    }


    @DeleteMapping("/deleteUser")
    @ApiOperation(value = "删除用户信息",notes = "方法的参数描述  接口的作用等等 ")
    public int deleteUser(Long id){
        return  userService.deleteUser(id);
    }

}
